home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Juegos Flash / desertZone.dcr / Internal_13_powerUpManager.ls < prev    next >
Encoding:
Text File  |  2003-08-01  |  897 b   |  41 lines

  1. property pTrackmanager, pSNs, pPowerUps, pWaitingPowerUps
  2. global gTrackScale
  3.  
  4. on new me, tTrackManager
  5.   pTrackmanager = tTrackManager
  6.   return me
  7. end
  8.  
  9. on setupTrack me, tTrack
  10.   pTrackmanager.INeedAnUpdateEachFrame(me)
  11.   pWaitingPowerUps = []
  12.   repeat with tPowerUp in tTrack[#powerups]
  13.     pWaitingPowerUps.append([#time: 1000, #pos: tPowerUp * gTrackScale])
  14.   end repeat
  15. end
  16.  
  17. on spawnPowerUp me, tPosition
  18.   script("powerUp").new(pTrackmanager, me, tPosition)
  19. end
  20.  
  21. on powerUpReady me, tPowerUp
  22.   pWaitingPowerUps.append([#time: 0, #pos: tPowerUp.getPosition()])
  23. end
  24.  
  25. on stopRace me
  26.   pWaitingPowerUps = []
  27.   pPowerUps = []
  28.   return 0
  29. end
  30.  
  31. on Update me, tTime
  32.   repeat with ii = pWaitingPowerUps.count down to 1
  33.     i = pWaitingPowerUps[ii]
  34.     i[#time] = i[#time] + tTime
  35.     if i[#time] > 500 then
  36.       me.spawnPowerUp(i[#pos])
  37.       pWaitingPowerUps.deleteAt(ii)
  38.     end if
  39.   end repeat
  40. end
  41.